package edu.isistan.matching.structures.elements;

import java.util.ArrayList;

/**
 * Implementacion de lista que permite a los elementos wsdl que se almacenan referenciar al padre
 * @author Mariano
 *
 * @param <TE> Tipo parametrizable, utilizar la jerarquia WSDLElement
 */
public class WsdlList<TE> extends ArrayList<TE> {

	/**
	 * Elemento WSDL que utilizara esta lista para contener los childs del mismo
	 */
	private WSDLElement conteiner;
	
	public WsdlList(WSDLElement conteiner) {
		super();
		this.conteiner = conteiner;
	}

	@Override
	public boolean add(TE e) {
		boolean retorno = super.add(e);
		if (e instanceof WSDLElement) {
			WSDLElement child = (WSDLElement) e;
			child.setParentElement(conteiner);
		}
		return retorno;
	}

}
